package com.example.security.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Base64;

/**
 * JWT配置属性
 * 用于配置JWT token的生成和验证参数
 */
@Data
@Component
@ConfigurationProperties(prefix = "jwt")
public class JwtProperties {
    /**
     * JWT密钥
     * 用于签名和验证token
     */
    private String secret;

    /**
     * token过期时间(秒)
     * 默认2小时
     */
    private Long expireTime = 7200L;

    /**
     * 刷新token过期时间(秒)
     * 默认7天
     */
    private Long refreshTime = 604800L;

    /**
     * 获取解码后的密钥字节数组
     */
    public byte[] getSecretBytes() {
        return Base64.getDecoder().decode(secret);
    }
} 